home *** CD-ROM | disk | FTP | other *** search
- *** blt-1.7/src/bltDragDrop.c Thu Apr 14 22:11:03 1994
- --- src/bltDragDrop.c Fri Jul 8 17:09:46 1994
- ***************
- *** 676,681 ****
- --- 676,682 ----
-
- if (dsPtr->button > 0)
- {
- + #ifdef ORIGINAL_CODE
- sprintf(buffer,
- "bind %.100s <ButtonPress-%d> {%s drag %.100s %%X %%Y}; \
- bind %.100s <B%d-Motion> {%s drag %.100s %%X %%Y}; \
- ***************
- *** 683,689 ****
- argv[2], dsPtr->button, DRAGDROP_COMMAND, argv[2],
- argv[2], dsPtr->button, DRAGDROP_COMMAND, argv[2],
- argv[2], dsPtr->button, DRAGDROP_COMMAND, argv[2]);
- !
- if (Tcl_Eval(interp, buffer) != TCL_OK)
- {
- Tk_DestroyWindow(tokenwin);
- --- 684,699 ----
- argv[2], dsPtr->button, DRAGDROP_COMMAND, argv[2],
- argv[2], dsPtr->button, DRAGDROP_COMMAND, argv[2],
- argv[2], dsPtr->button, DRAGDROP_COMMAND, argv[2]);
- ! #else
- ! sprintf(buffer,
- ! "(begin \
- ! (bind %.100s \"<ButtonPress-%d>\" '(%s 'drag %.100s |%%X| |%%Y|)) \
- ! (bind %.100s \"<B%d-Motion>\" '(%s 'drag %.100s |%%X| |%%Y|)) \
- ! (bind %.100s \"<ButtonRelease-%d>\" '(%s 'drop %.100s |%%X| |%%Y|)))",
- ! argv[2], dsPtr->button, DRAGDROP_COMMAND, argv[2],
- ! argv[2], dsPtr->button, DRAGDROP_COMMAND, argv[2],
- ! argv[2], dsPtr->button, DRAGDROP_COMMAND, argv[2]);
- ! #endif
- if (Tcl_Eval(interp, buffer) != TCL_OK)
- {
- Tk_DestroyWindow(tokenwin);
- ***************
- *** 887,893 ****
- --- 897,908 ----
- */
- dsPtr->pkgcmdInProg = ~0;
- status = Tcl_VarEval(dsPtr->ddlist->interp,
- + #ifdef ORIGINAL_CODE
- dsPtr->pkgcmd, " ", Tk_PathName(dsPtr->tokenwin),
- + #else
- + "(", dsPtr->pkgcmd, " '",
- + Tk_PathName(dsPtr->tokenwin), ")",
- + #endif
- (char*)NULL);
- dsPtr->pkgcmdInProg = 0;
-
- ***************
- *** 914,920 ****
- --- 929,939 ----
- if (ddlist->errorProc && *ddlist->errorProc)
- {
- return Tcl_VarEval(ddlist->interp,
- + #ifdef ORIGINAL_CODE
- ddlist->errorProc, " {", ddlist->interp->result, "}",
- + #else
- + "(", ddlist->errorProc, " ", (char *) STk_Stringify(ddlist->interp->result, 0), ")",
- + #endif
- (char*)NULL);
- }
- else
- ***************
- *** 927,933 ****
- --- 946,956 ----
- if (dsPtr->tokenCursor != None)
- {
- status = Tcl_VarEval(dsPtr->ddlist->interp,
- + #ifdef ORIGINAL_CODE
- Tk_PathName(dsPtr->tkwin), " config -cursor",
- + #else
- + "(", Tk_PathName(dsPtr->tkwin), " 'config :cursor)",
- + #endif
- (char*)NULL);
-
- if (status == TCL_OK)
- ***************
- *** 1690,1696 ****
- --- 1713,1723 ----
-
- sprintf(buffer, "%d %d", dsPtr->tokenx, dsPtr->tokeny);
- status = Tcl_VarEval(ddlist->interp,
- + #ifdef ORIGINAL_CODE
- "send {",target->ddinterp,"} ", DRAGDROP_COMMAND," location ",buffer,
- + #else
- + "(send ",target->ddinterp," '(", DRAGDROP_COMMAND," 'location ",buffer,"))",
- + #endif
- (char*)NULL);
-
- if (status == TCL_OK)
- ***************
- *** 1699,1706 ****
- --- 1726,1738 ----
- if (sendcmd)
- {
- status = Tcl_VarEval(ddlist->interp,
- + #ifdef ORIGINAL_CODE
- sendcmd, " {",target->ddinterp,"} {",target->ddwin,
- "} {",dsPtr->pkgcmdResult,"}",
- + #else
- + "(", sendcmd, " ",target->ddinterp," '",target->ddwin,
- + " '",dsPtr->pkgcmdResult,")",
- + #endif
- (char*)NULL);
- }
- else
- ***************
- *** 1727,1733 ****
- --- 1759,1770 ----
-
- if (ddlist->errorProc && *ddlist->errorProc)
- (void) Tcl_VarEval(ddlist->interp,
- + #ifdef ORIGINAL_CODE
- ddlist->errorProc, " {", ddlist->interp->result, "}",
- + #else
- + "(", ddlist->errorProc, " ",
- + (char *) STk_Stringify(ddlist->interp->result, 0), ")",
- + #endif
- (char*)NULL);
- }
- }
- ***************
- *** 1762,1772 ****
- */
- Tcl_ResetResult(interp); /* for Tcl_AppendResult() below */
- if (Tcl_VarEval(interp,
- "send {",interpName,"} ", DRAGDROP_COMMAND," target {",ddName,"} handler",
- (char*)NULL) != TCL_OK)
- return NULL;
- !
- hlist = strdup(interp->result);
- if (Tcl_SplitList(interp, hlist, &hndlc, &hndlv) == TCL_OK)
- {
- /*
- --- 1799,1826 ----
- */
- Tcl_ResetResult(interp); /* for Tcl_AppendResult() below */
- if (Tcl_VarEval(interp,
- + #ifdef ORIGINAL_CODE
- "send {",interpName,"} ", DRAGDROP_COMMAND," target {",ddName,"} handler",
- + #else
- + "(send ",interpName," '(", DRAGDROP_COMMAND," 'target '",ddName," 'handler))",
- + #endif
- (char*)NULL) != TCL_OK)
- return NULL;
- ! #ifdef ORIGINAL_CODE
- hlist = strdup(interp->result);
- + #else
- + /* DIRTY HACKS..... But I don't know how to make it work better */
- + /* Result of send is always a string in STk. So there are '"' to delete */
- + /* Furthermore, The STk Tcl_SplitList doesn't handle very well lists */
- + if (*(interp->result)) {
- + int x = ((interp->result)[1]) == '('? 2: 1;
- +
- + hlist = strdup(interp->result + x);
- + hlist[strlen(hlist)-x] = '\0';
- + }
- + else
- + hlist = strdup(interp->result);
- + #endif
- if (Tcl_SplitList(interp, hlist, &hndlc, &hndlv) == TCL_OK)
- {
- /*
- ***************
- *** 2117,2123 ****
- --- 2171,2181 ----
- char *p = wr->ddprop;
- wr->ddinterp = wr->ddprop;
-
- + #ifdef ORIGINAL_CODE
- while ((*p != '\0') && (*p != ']'))
- + #else
- + while ((*p != '\0') && (*p != '}'))
- + #endif
- p++;
-
- if (*p != '\0')
- ***************
- *** 2126,2132 ****
- --- 2184,2194 ----
- wr->ddwin = p; /* get start of window name */
- }
-
- + #ifdef ORIGINAL_CODE
- while ((*p != '\0') && (*p != ']'))
- + #else
- + while ((*p != '\0') && (*p != '}'))
- + #endif
- p++;
-
- if (*p != '\0')
- ***************
- *** 2201,2213 ****
- --- 2263,2286 ----
-
- if (dtPtr->tkwin != None)
- {
- + #ifdef ORIGINAL_CODE
- static char command[] = { "winfo name ." };
- + #else
- + static char command[] = { "(winfo 'name *root*)" };
- + #endif
-
- path = Tk_PathName(dtPtr->tkwin);
- + #ifdef ORIGINAL_CODE
- if (Tcl_Eval(interp, command)==TCL_OK)
- sprintf(buffer, "%s]%s]", interp->result, path);
- else
- sprintf(buffer, "]%s]", path);
- + #else
- + if (Tcl_Eval(interp, command)==TCL_OK)
- + sprintf(buffer, "%s}%s}", interp->result, path);
- + else
- + sprintf(buffer, "}%s}", path);
- + #endif
-
- Tcl_SetResult(interp, buffer, TCL_VOLATILE);
- for (thandl=dtPtr->handlers; thandl; thandl=thandl->next)
- ***************
- *** 2383,2395 ****
- --- 2456,2477 ----
-
- sprintf(buffer, "%d", status);
- if ((Tcl_VarEval(dsPtr->ddlist->interp,
- + #ifdef ORIGINAL_CODE
- dsPtr->sitecmd," ",buffer," ",Tk_PathName(dsPtr->tokenwin),
- + #else
- + "(", dsPtr->sitecmd," ",buffer," '",Tk_PathName(dsPtr->tokenwin), ")",
- + #endif
- (char*)NULL) != TCL_OK) &&
- dsPtr->ddlist->errorProc && *dsPtr->ddlist->errorProc)
-
- (void) Tcl_VarEval(dsPtr->ddlist->interp,
- + #ifdef ORIGINAL_CODE
- dsPtr->ddlist->errorProc, " {",
- dsPtr->ddlist->interp->result, "}",
- + #else
- + "(", dsPtr->ddlist->errorProc, " ",
- + (char *) STk_Stringify(dsPtr->ddlist->interp->result, 0), ")",
- + #endif
- (char*)NULL);
- }
- }
-